#pragma once
#include <windows.h>
#include "CoolUIDefine.h"

class CUIRect;
class CUIMessage;

class COOLUI_CLASS CUIWindow
{
public:
    CUIWindow();

    virtual ~CUIWindow();

    virtual HWND GetHwnd() = 0;

// 	virtual void GetWindowRect(CUIRect* pRect)=0;
//
// 	virtual void GetClientRect(CUIRect* pRect)=0;

    virtual DWORD GetStyle() = 0;

    virtual DWORD GetExStyle() = 0;

    virtual BOOL IsSkined() = 0;

    virtual void SaveOldWindowProc( WNDPROC NewWndProc ) = 0;

    virtual WNDPROC GetOldWindowProc() = 0;

    virtual LRESULT ProcessUIMsg( UINT uMsg, WPARAM wParam, LPARAM lParam ) = 0;

    virtual LRESULT DefaultWindowProc( UINT uMsg, WPARAM wParam, LPARAM lParam ) = 0;
};